define("cart",["jquery","jquery.cookie"],function ($) {
	return{
		cookieData:null,
		loadData:function () {
			var tmp=this;
			$("#tab").empty();
			//判断是否登录
			if (sessionStorage.getItem("userInfo")==null){
				//读取cookie
				var cartDate=JSON.parse($.cookie("carts")||'[]');
				this.cookieData=cartDate;//读取到的cookie赋予给当前的对象,方便后面使用
				tmp.loadHTML();
			} else {
			//登录了 只需要调用之前的数据 ajax
				var userDate=JSON.parse(sessionStorage.getItem("userInfo")||'[]');
				$.ajax({
					url:"http://127.0.0.1/dogmall/src/server/getCarts.php",
					data:{"uid":userDate.data.u_id},
					success:function (res) {
						//处理返回的res数据的格式
						var toCookieData=[];
						res.forEach((ele,index)=>{
							var obj={};
							obj["p_id"]=ele.c_pro_id, //产品id
							obj["p_name"]=ele.c_name; //产品名称
							obj["p_price"]=ele.c_price; //产品价格
							obj["c_num"]=ele.c_num;  //产品数量
							obj["p_imgs"]=[ele.c_path] //图片
							obj["u_id"]=userDate.data.u_id; //登录者的id
							toCookieData.push(obj);
						})
						tmp.cookieData=toCookieData;
						//从数据库读取了数据后,才能加载到页面
						tmp.loadHTML();
					}
				})
			}
			
		},
		//负责渲染
		loadHTML:function () {
			//不管是cookie的 还是数据库的 都是要 显示到页面
			var tmp=this;
			tmp.cookieData.forEach((ele,index)=>{
				var strHTML=`<tr>`;
				strHTML +=`<td><input type="checkbox"></td>`;
				strHTML +=`<td>${ele.p_name}</td>`;
				strHTML +=`<td>${ele.p_price}</td>`;
				strHTML +=`<td>
                               <input type="button" class="sub" value="-" data-index="${index}"/>
                               <input value="${ele.c_num}" class="c_num"/>
                               <input type="button" class="add" value="+" data-index="${index}"/>
                           </td>`;
				strHTML +=`<td>${ele.c_num*ele.p_price}</td>`;
				strHTML +=`<td><a href="#" class="del">删除</a></td>`
			    strHTML +=`</tr>`;
				$("#tab").append(strHTML)
			})
		},
		addEventNum:function () {
			var tmp=this;
			//-
			$("#tab").on("click",".sub",function () {
				var $index=$(this).data("index");//获取 加 减 上的藏值
				var num=$(this).next("c_num").val();
				if (num>1){
					num--;
				}
				$(this).next(".c_num").val(num);
				var price=$(this).parents("td").prev("td").text();
				$(this).parents("td").next("td").text(num*price);
				$(this).parents("tr").find("[type=checkbox]").prop("checked",true);
			    
				//在--的时候  共计金额
				tmp.totalMoney();
				tmp.cookieData[$index].c_num=num;
				if(sessionStorage.getItem("userInfo")==null){
					$.cookie("carts",JSON.stringify(tmp.cookieData),{expires:10});
				}else{
					//实现单条的修改
					var ele=tmp.cookieData[$index];
					var formdate=new FormData();
					for(var key in ele){
						formdate.append(key,ele[key]);
					}
					$.ajax({
						type:"post",
						url:"./../server/insertCart.php",
						data:formdate,
						processData:false,
						contentType:false
					}).then(function () {
						//3.之后,清除cookie
						$.cookie("carts","",{expires:-99})
					})
				}
			})
			//+
			$("#tab").on("click",".add",function () {
			    var $index=$(this).data("index"); //获取 加,减 上的参值
				var num=$(this).prev(".c_num").val();
				if(num>=1){
					num++;
				}
				$(this).prev(".c_num").val(num);
				
				var price=$(this).parents("td").prev("td").text();
				$(this).parents("td").next("td").text(num*price);
				$(this).parents("tr").find("[type=checkbox]").prop("checked",true);
				
				//在++的时候,共计金额
				tmp.totalMoney();
				//修改数量,并覆盖之前的cookie
				tmp.cookieData[$index].c_num=num;
				
				if(sessionStorage.getItem("userInfo")==null){
					$.cookie("carts",JSON.stringify(tmp.cookieData),{expires:10});
				}else {
					//实现单条的修改
					var ele=tmp.cookieData[$index];
					var formdate=new FormData();
					for(var key in ele){
						formdate.append(key,ele[key]);
					}
					$.ajax({
						type:"post",
					    url:"./../server/insertCart.php",
						data:formdate,
						processData:false,
						contentType:false
					}).then(function () {
						//3.退出登录,清除cookie
						$.cookie("carts","",{expires:-99})
					})
				}
			});
			
			//复选
			$("#tab").on("click","[type=checkbox]",function () {
				console.log("checkbox");
			})
			//删除
			$("#tab").on("click",".del",function () {
				console.log("del");
			})
			
			$("#tab").on("click","[type=checkbox]",function () {
				tmp.totalMoney();
			})
		},
		totalMoney:function () {
			var total=0;
			$("tbody").find("[type=checkbox]").each(function (index,ele) {
				if ($(ele).prop("checkbox")){
					total+=($(ele).parents("tr").children("td").eq(4).text()-0);
				}
			})
			$("tfoot").find("td:last".text(total));
		}
	}
});
